package study.activiti.ssh.service.impl;

import java.io.IOException;
import java.util.List;

import study.activiti.ssh.dao.ILeaveBillDao;
import study.activiti.ssh.domain.Employee;
import study.activiti.ssh.domain.LeaveBill;
import study.activiti.ssh.service.ILeaveBillService;
import study.activiti.ssh.utils.SessionContext;


public class LeaveBillServiceImpl implements ILeaveBillService {

	private ILeaveBillDao leaveBillDao;

	public void setLeaveBillDao(ILeaveBillDao leaveBillDao) {
		this.leaveBillDao = leaveBillDao;
	}

	/**  
	* @Name: findLeaveBillList（方法的名称）
	* @Description: 查询当前登录人所有的请假单（对应表a_leavebill）（方法的描述）
	* @Author: 李超（作者）
	* @Version: V1.00 （版本号）
	* @Create Date: 2016-12-17 （创建日期）
	* @Parameters: 无（方法的入参，如果没有，填写为“无”）
	* @Return: List<LeaveBill> 请假单列表（返回值，如果没有，填写为“无”）
	*/
	public List<LeaveBill> findLeaveBillList() {
		List<LeaveBill> lbList = leaveBillDao.findLeaveBillList() ;
		return lbList;
	}

	/**  
	* @Name: findLeaveBillById（方法的名称）
	* @Description: 根据id查询请假单信息（对应表a_leavebill）（方法的描述）
	* @Author: 李超（作者）
	* @Version: V1.00 （版本号）
	* @Create Date: 2016-12-17 （创建日期）
	* @Parameters: Long id 请假单id（方法的入参，如果没有，填写为“无”）
	* @Return: LeaveBill 返回请假单信息（返回值，如果没有，填写为“无”）
	*/
	public LeaveBill findLeaveBillById(Long id) {
		LeaveBill leaveBill = leaveBillDao.findLeaveBillById(id) ;
		return leaveBill;
	}

	/**  
	* @Name: saveLeaveBill（方法的名称）
	* @Description: 保存请假单信息（对应表a_leavebill）（方法的描述）
	* @Author: 李超（作者）
	* @Version: V1.00 （版本号）
	* @Create Date: 2016-12-17 （创建日期）
	* @Parameters: LeaveBill leaveBill 请假单信息（方法的入参，如果没有，填写为“无”）
	* @Return: 无（返回值，如果没有，填写为“无”）
	*/
	public void saveLeaveBill(LeaveBill leaveBill) {
		//获取当前操作用户对象
		Employee user = SessionContext.get() ;
		//设置添加请假单用户对象，建立关联关系
		leaveBill.setUser(user) ;
		leaveBillDao.saveLeaveBill(leaveBill) ;
	}

	/**  
	* @Name: updateLeaveBill（方法的名称）
	* @Description: 更新请假单信息（对应表a_leavebill）（方法的描述）
	* @Author: 李超（作者）
	* @Version: V1.00 （版本号）
	* @Create Date: 2016-12-17 （创建日期）
	* @Parameters: LeaveBill leaveBill 请假单信息（方法的入参，如果没有，填写为“无”）
	* @Return: 无（返回值，如果没有，填写为“无”）
	*/
	public void updateLeaveBill(LeaveBill leaveBill) {
		leaveBillDao.updateLeaveBill(leaveBill) ;
	}

	/**  
	* @Name: deleteLeaveBillById（方法的名称）
	* @Description: 删除请假申请单（对应表a_leavebill）（方法的描述）
	* @Author: 李超（作者）
	* @Version: V1.00 （版本号）
	* @Create Date: 2016-12-17 （创建日期）
	* @Parameters: Long id 请假申请单id（方法的入参，如果没有，填写为“无”）
	* @Return: 无（返回值，如果没有，填写为“无”）
	*/
	public void deleteLeaveBillById(Long id) {
		leaveBillDao.deleteLeaveBillById(id) ;
	}

}
